#include<iostream>
#include<string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>

int main()
{
    //发起连接

    int sockfd=socket(AF_INET,SOCK_STREAM,0);//创建套接字
    
    struct sockaddr_in ServerAddr;
    // 初始化地址结构，配置服务器信息
    memset(&ServerAddr, 0, sizeof(ServerAddr)); // 清零
    ServerAddr.sin_family = AF_INET;      // 地址族为IPv4
    ServerAddr.sin_port = htons(8080);    // 端口号8080，转换为网络字节序
    ServerAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 设置IPv4地址
    int addrlen=sizeof(ServerAddr);
    sleep(2);
    int ret=connect(sockfd,(sockaddr*)&ServerAddr,addrlen);
    if(ret==0)
    {
        std::cout<<"成功建立连接..."<<std::endl;
    }
    else
    {
        std::cout<<"建立连接失败..."<<std::endl;
        return 0;
    }
    //发送数据测试
    char sendbuf[1024]="hello world";
    int size=write(sockfd,sendbuf,strlen(sendbuf));
    if(size>0)
    {
        std::cout<<"已发送: "<<size<<"字节"<<std::endl;
    }
    else
    {
        std::cout<<"发送失败"<<std::endl;
    }
    char recvbuf[1025]={0};//\0兜底
    read(sockfd,recvbuf,1024);
    std::cout<<"服务器响应: "<<recvbuf<<std::endl;

    sleep(100);
}